package org.example.stream;


import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;

/**
 * @version v1.0
 * @ClassName: Client
 * @Description: TODO(一句话描述该类的功能)
 * @Author: 黑马程序员
 */
public class Client {
    public static void main(String[] args) {

        ArrayList<String> list1 = new ArrayList<>();
        Collections.addAll(list1,"林俊杰","林忆莲","周杰伦","周兴哲");
        // 用stream + lambda表达式
        list1.stream()
                .filter(s -> s.startsWith("林"))
                .forEach(s -> System.out.println(s));

        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"1","2","3");
        //用lambda表达式后
        list.stream()
                .map(s -> Integer.parseInt(s))
                .forEach(s-> System.out.println(s.getClass() + " " + s));

//        HashMap<Object, Object> objectObjectHashMap = new HashMap<>();


//        List<String> list = new ArrayList<>();
//        list.add("1");
//        list.add("2");
//        list.add("3");
//        List<String> list2 = new ArrayList<>();
//        list2.add("3");
//        list2.add("2");
//        list2.add("5");
//        Set<String> allComboSaleCodes = new HashSet<>();
//        allComboSaleCodes.addAll(null);
//        allComboSaleCodes.addAll(list);
//        allComboSaleCodes.addAll(list2);
//        List<String> uniqueComboSaleCodesList = new ArrayList<>(allComboSaleCodes);
//        if(!IsEmptyOrNull(uniqueComboSaleCodesList)){
//            System.out.println("564564");
//        }
//        System.out.println(allComboSaleCodes);
//        uniqueComboSaleCodesList.forEach(System.out::println);
//        List<String> list1 = new ArrayList<>();
//        list1.add("A");
//        list1.add("B");
//
//        List<String> list2 = new ArrayList<>();
//        list2.add("C");
//        list2.add("D");

        // 创建一个新的列表来存储合并的结果
//        List<String> mergedList = new ArrayList<>(list1);
//        mergedList.addAll(list2);
//
//        System.out.println("合并后的列表: " + mergedList);

//        list1.addAll(list2);
//
//        System.out.println("合并后的列表: " + list1);
//        Double a = 0.0;
//        Double b = 0.00;
//        System.out.println(a!=b);
//
//
//        double a6 =0.0;
//        double b6 =0.00;
//        System.out.println(a6!=b6);
//
//
//
//
//        System.out.println(0.0 != 0.00);
//
//        System.out.println(a==b);
//
//
//        System.out.println(a.compareTo(b) == 0);
//
//
//        Double a5 = 0.0;
//        Double b5 = 0.00;
//        System.out.println(Double.compare(a5,b5));
//        System.out.println(NumberUtil.compare(a5,b5));
//
//
//        System.out.println(a.compareTo(b));
//
//        System.out.println(a.compareTo(b) == 0);
//
//
//        Double a1 = 1.0;
//        Double b1 = 0.00;
//        System.out.println(a1.compareTo(b1));
//
//        Double a2 = 0.0;
//        Double b2 = 1.00;
//        System.out.println(a2.compareTo(b2));


//        String a = null ;
//        if(!IsEmptyOrNull(a) && "0".equals(a.toString())){
//            System.out.println("dadasd");
//        }
//        System.out.println("dsafasfaf");
//        String a ="nihao";
//        if(a.contains("a")){
//            System.out.println("aaa");
//        }else if(a.contains("n")){
//            System.out.println("bb");
//        }
//
//        System.out.println("鲁AFH2616".substring("鲁AFH2616".lastIndexOf(".")));

//        System.out.println("---------------大战boos前-----------------");
//        //创建游戏角色对象
//        GameRole gameRole = new GameRole();
//        gameRole.initState();//初始化状态操作
//        gameRole.stateDisplay();
//
//        //将该游戏角色内部状态进行备份
//        //创建管理者对象
//        RoleStateCaretaker roleStateCaretaker = new RoleStateCaretaker();
//        roleStateCaretaker.setMemento(gameRole.saveState());
//
//        System.out.println("---------------大战boos后-----------------");
//        //损耗严重
//        gameRole.fight();
//        gameRole.stateDisplay();
//
//        System.out.println("---------------恢复之前的状态-----------------");
//        gameRole.recoverState(roleStateCaretaker.getMemento());
//        gameRole.stateDisplay();
    }


    public static Boolean IsEmptyOrNull(Object obj) {
        if (obj == null) {
            return true;
        } else if ("".equals(obj)) {
            return true;
        } else {
            if (obj instanceof String) {
                if (((String)obj).length() == 0) {
                    return true;
                }
            } else if (obj instanceof Collection) {
                if (((Collection)obj).size() == 0) {
                    return true;
                }
            } else if (obj instanceof Map && ((Map)obj).size() == 0) {
                return true;
            }

            return false;
        }
    }
}
